Refactor the xlat_tables library code
authorSoby Mathew <[email protected]>
Tue, 22 Mar 2016 15:51:08 +0000 (15:51 +0000)
committerSoby Mathew <[email protected]>
Wed, 13 Apr 2016 11:06:23 +0000 (12:06 +0100)
commit3ca9928df202607e6d77e8b8a31a30ff4a934a4b
treefd00a5c828be6be0bc87d40f1dde1d40f938b6d6
parent72c1dc149c2b4a89735a30ccc3e13dccb66a0b74
Refactor the xlat_tables library code

The AArch32 long descriptor format and the AArch64 descriptor format
correspond to each other which allows possible sharing of xlat_tables
library code between AArch64 and AArch32. This patch refactors the
xlat_tables library code to seperate the common functionality from
architecture specific code. Prior to this patch, all of the xlat_tables
library code were in `lib/aarch64/xlat_tables.c` file. The refactored code
is now in `lib/xlat_tables/` directory. The AArch64 specific programming
for xlat_tables is in `lib/xlat_tables/aarch64/xlat_tables.c` and the rest
of the code common to AArch64 and AArch32 is in
`lib/xlat_tables/xlat_tables_common.c`. Also the data types used in
xlat_tables library APIs are reworked to make it compatible between AArch64
and AArch32.

The `lib/aarch64/xlat_tables.c` file now includes the new xlat_tables
library files to retain compatibility for existing platform ports.
The macros related to xlat_tables library are also moved from
`include/lib/aarch64/arch.h` to the header `include/lib/xlat_tables.h`.

NOTE: THE `lib/aarch64/xlat_tables.c` FILE IS DEPRECATED AND PLATFORM PORTS
ARE EXPECTED TO INCLUDE THE NEW XLAT_TABLES LIBRARY FILES IN THEIR MAKEFILES.

Change-Id: I3d17217d24aaf3a05a4685d642a31d4d56255a0f
common/bl_common.c
include/lib/aarch64/arch.h
include/lib/aarch64/xlat_tables.h [deleted file]
include/lib/xlat_tables.h [new file with mode: 0644]
lib/aarch64/xlat_tables.c
lib/xlat_tables/aarch64/xlat_tables.c [new file with mode: 0644]
lib/xlat_tables/xlat_tables_common.c [new file with mode: 0644]
lib/xlat_tables/xlat_tables_private.h [new file with mode: 0644]